An artificial neural net can be described as a data processing system that includes a large number of similar, highly interconnected processors. The term neural refers to the fact that this architecture is similar to that of the human brain, and the individual processors in a neural net are commonly referred to as neurons. In general, each neuron receives signals of varying strengths from a large number of other neurons and combines its input signals in some manner to produce an output signal that is received by a large number of other neurons. Neural nets have been proposed for associative memories, linear programming, analog-to-digital conversion, and for the solution of combinatorial search problems.